package com.yang.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yang.domain.entity.UserBlog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author yang
 * @since 2022-10-22
 */
public interface UserBlogMapper extends BaseMapper<UserBlog> {


    /**
     * 查询出所有已经存在的数据
     * @param blogId 博客id
     * @param userIdList 用户id集合
     * @return 存在的数据
     */
    List<String> findExistUserIds(@Param("blogId") String blogId, @Param("userIdList") List<String> userIdList);

    /**
     * 批量插入数据
     * @param userBlogs 数据
     */
    void insertBatch(@Param("userBlogs")  List<UserBlog> userBlogs);

    void updateByUserIdAndBlogId(@Param("blogId") Long blogId,
                                 @Param("userId") Long userId,
                                 @Param("status") Object status);

    Object selectStatusById(@Param("blogId") Long blogId, @Param("userId") Long userId);


    /**
     * 批量删除旧数据
     * @param existUserIds 已经存在的用户id
     * @param blogId 博客id
     */
    void batchDelete(@Param("existUserIds") List<String> existUserIds, @Param("blogId") String blogId);
}
